package com.umpay.dto.merAccess.req.refund;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merAccess.req.CommonReq;
import com.umpay.dto.merAccess.req.consume.SubOrderInfo;

import java.util.List;

import javax.validation.Valid;

import org.hibernate.validator.constraints.NotEmpty;

/**
 *  
* @ClassName: TransRefundOrderReq 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author HaiLong Guo
* @date 2018年12月19日 下午3:18:29 
* @version 1.0
*
 */
public class TransRefundOrderReq extends CommonReq {

	@NotEmpty(message = "商户订单号不能为空")
	@Pattern(message = "商户订单号格式不正确")
	private String order_id; // 商户订单号
	
	@NotEmpty(message = "商户订单日期不能为空")
	@Pattern(message = "商户订单日期格式不正确")
	private String mer_date; // 商户订单日期
	
	@NotEmpty(message = "原消费商户订单号不能为空")
	@Pattern(message = "原消费商户订单号格式不正确")
	private String ori_order_id; // 商户唯一订单号
	
	@NotEmpty(message = "原消费商户订单日期不能为空")
	@Pattern(message = "原消费商户订单日期格式不正确")
	private String ori_mer_date; // 商户订单日期
	
	@Pattern(message = "金额格式不正确")
	private String amount; // 退费金额
	
	@Pattern(message = "备注信息格式不正确")
	private String remark; // 备注信息
	
	@NotEmpty(message = "通知地址为空")
	@Pattern(message = "后台通知地址格式不正确")
	private String notify_url; //  后台通知地址
	
	@NotEmpty(message = "商户原流水为空")
	@Pattern(message = "商户原流水格式不正确")
	private String ori_mer_trace;
	
	@NotEmpty(message = "手续费承担方不能为空")
	@Pattern(message = "手续费承担方格式不正确")
	private String fee_payer; // 手续费承担方
	
	@Valid
	private List<RefundSplitCmd> refund_cmd;
	
	public List<RefundSplitCmd> getRefund_cmd() {
		return refund_cmd;
	}
	public void setRefund_cmd(List<RefundSplitCmd> refund_cmd) {
		this.refund_cmd = refund_cmd;
	}
	public String getOrder_id() {
		return order_id;
	}
	public void setOrder_id(String order_id) {
		this.order_id = order_id;
	}
	public String getMer_date() {
		return mer_date;
	}
	public void setMer_date(String mer_date) {
		this.mer_date = mer_date;
	}
	public String getOri_order_id() {
		return ori_order_id;
	}
	public void setOri_order_id(String ori_order_id) {
		this.ori_order_id = ori_order_id;
	}
	public String getOri_mer_date() {
		return ori_mer_date;
	}
	public void setOri_mer_date(String ori_mer_date) {
		this.ori_mer_date = ori_mer_date;
	}
	public String getAmount() {
		return amount;
	}
	public void setAmount(String amount) {
		this.amount = amount;
	}
	
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public String getNotify_url() {
		return notify_url;
	}
	public void setNotify_url(String notify_url) {
		this.notify_url = notify_url;
	}

	public String getOri_mer_trace() {
		return ori_mer_trace;
	}
	public void setOri_mer_trace(String ori_mer_trace) {
		this.ori_mer_trace = ori_mer_trace;
	}
	
	public String getFee_payer() {
		return fee_payer;
	}
	public void setFee_payer(String fee_payer) {
		this.fee_payer = fee_payer;
	}
	@Override
	public String toString() {
		return "TransRefundOrderReq [order_id=" + order_id + ", mer_date=" + mer_date + ", ori_order_id=" + ori_order_id
				+ ", ori_mer_date=" + ori_mer_date + ", amount=" + amount + ", remark=" + remark + ", notify_url="
				+ notify_url + ", ori_mer_trace=" + ori_mer_trace + ", fee_payer=" + fee_payer + ", refund_cmd="
				+ refund_cmd + "]";
	}
	
}
